using System;
using Sinacor.Infra.Common;
using System.Collections.Generic;
using Sinacor.Servico.Bovespa.Corretagem.BusinessEntity;
using Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response;

namespace Sinacor.Servico.Bovespa.Corretagem.Service.ServiceImplementation.Translator
{
    /// <summary>
    /// Classe tradutora entre objetos DescontoDiferenciado e DescontoDiferenciado
    /// </summary>
    public class DescontoDiferenciadoToDescontoDiferenciadoResponse : BaseTranslator<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.DescontoDiferenciadoResponse, Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.DescontoDiferenciado, List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.DescontoDiferenciadoResponse>, List<Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.DescontoDiferenciado>>
    {
        public override Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.DescontoDiferenciadoResponse Translate(Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.DescontoDiferenciado from)
        {
            Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.DescontoDiferenciadoResponse to = new Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.DescontoDiferenciadoResponse();
            to.CodigoTabela = (from.CodigoTabela.HasValue ? from.CodigoTabela.Value : 0);            
            to.Percentual = from.Percentual;
            to.TipoDesconto.Codigo = (from.TipoDesconto.Codigo.HasValue ? from.TipoDesconto.Codigo.Value : 0);
            to.TipoDesconto.Descricao = from.TipoDesconto.Descricao;
            to.TipoDesconto.Obrigatorio = (from.TipoDesconto.Obrigatorio.HasValue ? from.TipoDesconto.Obrigatorio.Value : false);
            return to;
        }



    }
}

